package cn.ac.iscas.bean.project;

import java.util.Calendar;
import java.util.Set;

import cn.ac.iscas.bean.paper.Paper;
import cn.ac.iscas.bean.patent.Patent;
import cn.ac.iscas.bean.softwareCopyright.SoftwareCopyright;


public class Project {
	private int id;
	private String projectNo;//项目编号
	private String projectName;//课题名称
	private String source;//课题来源
	private String reposiblePerson;//负责人
	private String personInCharge;//责任人
	private Calendar startTime ;//项目开始时间
	private Calendar endTime;//项目结束时间
	private String introduction;//项目简介
	private int paperTarget;//论文指标
	private int softwareCopyRightTarget;//软件著作权指标
	private int patentTarget;//专利指标
	private String otherTargets;//其他指标
	private String qualification;//技术指标
	private State state;//项目的状态
	private Set<Paper> papers;//项目中所包含的期刊论文
	private Set<ProjectDocument> projectDocuments;//项目中所包含的文档
	private Set<SoftwareCopyright> softwareCopyrights;//项目中的软件著作权
	private Set<Patent> patents;
	private String note;//备注
	public int getId() { 
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getProjectNo() {
		return projectNo;
	}
	public void setProjectNo(String projectNo) {
		this.projectNo = projectNo;
	}
	public String getProjectName() {
		return projectName;
	}
	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}
	public String getSource() {
		return source;
	}
	public void setSource(String source) {
		this.source = source;
	}
	public String getReposiblePerson() {
		return reposiblePerson;
	}
	public void setReposiblePerson(String reposiblePerson) {
		this.reposiblePerson = reposiblePerson;
	}
	public String getPersonInCharge() {
		return personInCharge;
	}
	public void setPersonInCharge(String personInCharge) {
		this.personInCharge = personInCharge;
	}

	public Calendar getStartTime() {
		return startTime;
	}
	public void setStartTime(Calendar startTime) {
		this.startTime = startTime;
	}
	public Calendar getEndTime() {
		return endTime;
	}
	public void setEndTime(Calendar endTime) {
		this.endTime = endTime;
	}
	public String getIntroduction() {
		return introduction;
	}
	public void setIntroduction(String introduction) {
		this.introduction = introduction;
	}
	public int getPaperTarget() {
		return paperTarget;
	}
	public void setPaperTarget(int paperTarget) {
		this.paperTarget = paperTarget;
	}
	public int getSoftwareCopyRightTarget() {
		return softwareCopyRightTarget;
	}
	public void setSoftwareCopyRightTarget(int softwareCopyRightTarget) {
		this.softwareCopyRightTarget = softwareCopyRightTarget;
	}
	public int getPatentTarget() {
		return patentTarget;
	}
	public void setPatentTarget(int patentTarget) {
		this.patentTarget = patentTarget;
	}
	public String getOtherTargets() {
		return otherTargets;
	}
	public void setOtherTargets(String otherTargets) {
		this.otherTargets = otherTargets;
	}
	public String getQualification() {
		return qualification;
	}
	public void setQualification(String qualification) {
		this.qualification = qualification;
	}
	public State getState() {
		return state;
	}
	public void setState(State state) {
		this.state = state;
	}
	public void setNote(String note) {
		this.note = note;
	}
	public String getNote() {
		return note;
	}
	public void setProjectDocuments(Set<ProjectDocument> projectDocuments) {
		this.projectDocuments = projectDocuments;
	}
	public Set<ProjectDocument> getProjectDocuments() {
		return projectDocuments;
	}
	public Set<SoftwareCopyright> getSoftwareCopyrights() {
		return softwareCopyrights;
	}
	public void setSoftwareCopyrights(Set<SoftwareCopyright> softwareCopyrights) {
		this.softwareCopyrights = softwareCopyrights;
	}
	public void setPapers(Set<Paper> papers) {
		this.papers = papers;
	}
	public Set<Paper> getPapers() {
		return papers;
	}
	public void setPatents(Set<Patent> patents) {
		this.patents = patents;
	}
	public Set<Patent> getPatents() {
		return patents;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id;
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (!(obj instanceof Project)) {
			return false;
		}
		Project other = (Project) obj;
		if (id != other.id) {
			return false;
		}
		return true;
	}
	
}
